package com.spring.springboot.sys.init;

import cn.hutool.core.collection.CollectionUtil;
import com.spring.springboot.service.ConfigService;
import com.spring.springboot.sys.core.model.ConfigInitInfo;
import com.spring.springboot.sys.util.RedisUtils;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;

import javax.annotation.PostConstruct;
import javax.annotation.Resource;
import java.util.List;

/**
 * @author 宋义州
 * @date 2022-07-25  22:13
 * @description 初始化系统参数
 */
@Slf4j
@Component
public class ConfigInit {



    @Resource
    private ConfigService configService;

    @Resource
    private RedisUtils redisUtils;

    /**
     * 加载系统参数至Redis
     */
    @PostConstruct
    public void run() {
        log.info("----------:{}:{}", "开始加载系统参数至redis缓存", "----------");
        //查询系统参数
        List<ConfigInitInfo> configInitInfos = configService.selectListWithRedisCache();
        if (CollectionUtil.isNotEmpty(configInitInfos)) {
            configInitInfos.forEach(config -> redisUtils.set(config.getCode(), config.getValue()));
        }
        log.info("----------:{}:{}", "加载系统参数至redis缓存完成", "----------");
    }

}
